// samsting : this file is auto create.

#ifndef ALIYUN_Rds_DescribeSQLLogReportListResponse_H_
#define ALIYUN_Rds_DescribeSQLLogReportListResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds {

class DescribeSQLLogReportListResponse : public AcsResponse {
public:
  DescribeSQLLogReportListResponse();

  class Item {
    friend class DescribeSQLLogReportListResponse;
  public:

    class LatencyTopNItem {
      friend class DescribeSQLLogReportListResponse;
      friend class Item;
    public:
      const string& GetSQLText(void) const;
      int64 GetAvgLatency(void) const;
      int64 GetSQLExecuteTimes(void) const;
    private:
      string SQLText_;
      int64  AvgLatency_;
      int64  SQLExecuteTimes_;
    }; // LatencyTopNItem 


    class QPSTopNItem {
      friend class DescribeSQLLogReportListResponse;
      friend class Item;
    public:
      const string& GetSQLText(void) const;
      int64 GetSQLExecuteTimes(void) const;
    private:
      string SQLText_;
      int64  SQLExecuteTimes_;
    }; // QPSTopNItem 

    const std::vector<LatencyTopNItem>& GetLatencyTopNItems(void) const;
    const std::vector<QPSTopNItem>& GetQPSTopNItems(void) const;
    const string& GetReportTime(void) const;
  private:
    std::vector<LatencyTopNItem> LatencyTopNItems_;
    std::vector<QPSTopNItem> QPSTopNItems_;
    string ReportTime_;
  }; // Item 

  const std::vector<Item>& GetItems(void) const;
  int  GetTotalRecordCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageRecordCount(void) const;

private:
  std::vector<Item> Items_;
  int    TotalRecordCount_;
  int    PageNumber_;
  int    PageRecordCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds {

#endif // #ifndef ALIYUN_Rds_DescribeSQLLogReportListResponse_H_

// end of file 
